Calcular el vector de tracción en el punto P según la normal del plano ABC (ver figura) y descompongalo en su componente normal y tangencial.
In [1]:
import numpy as np
from numpy import array, cross, dot , sqrt
from sympy import *
from IPython.display import Image,Latex
In [2]:
Image(filename='FIGURES/Ejer3_7.png',width=250)
Out[2]:
In [3]:
sigma = array([[8.0, -4.0 , 1.0] , [-4.0 , 3.0, 0.5] , [1.0, 0.5, 2.0]])
print sigma
Se calcula el vector normal de acuerdo con:
${{\vec r}_{AC}} = {{\vec r}_C} - {{\vec r}_A}$
${{\vec r}_{AB}} = {{\vec r}_B} - {{\vec r}_A}$
In [4]:
ra = array([3,0,0])
rb = array([0,2,0])
rc = array([0,0,5])
rac =rc-ra
rab =rb-ra
N = cross(rab,rac)
mag = sqrt(N.dot(N))
n = array([N[0]/mag, N[1]/mag, N[2]/mag])
print rab , rac , n
con lo cual es posible calcular el vector de tracciones usando la formula de Cauchy:
$$\vec t = \left[ \sigma \right] \cdot \hat n$$
In [5]:
t = dot(sigma,n)
print t
Se calcula ahora la componente normal y tangencial de acuerdo con:
$${\sigma} = \vec t \cdot \hat n$$$${\tau ^2} = \vec t \cdot \vec t - {\sigma ^2}$$
In [6]:
magt = dot(t,t)
signn = dot(t,n)
taus =sqrt(magt-signn*signn)
print signn , sqrt(magt) , taus
In [7]:
from IPython.core.display import HTML
def css_styling():
styles = open('./custom_barba.css', 'r').read()
return HTML(styles)
css_styling()
Out[7]: